home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / AmmoBox.script next >
Text File  |  2001-09-28  |  2KB  |  95 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CGermanAmmoBoxMesh
  11. {
  12.   string MeshFile = "Models/B_AmmoBox.mesh";
  13.   string SkinFile = "Models/B_AmmoBox.skin";
  14. }
  15.  
  16. class CSovietAmmoBoxMesh
  17. {
  18.   string MeshFile = "Models/B_S_AmmoBox.mesh";
  19.   string SkinFile = "Models/B_S_AmmoBox.skin";
  20. }
  21.  
  22. class CAmmoBoxStateControl
  23.   extends CUnitLifeControl, CExplosionGenerator
  24. {
  25.   void CAmmoBoxStateControl()
  26.   {
  27.     CUnitLifeControl(1000.0);
  28.     m_DestroyPause = 0.0;
  29.     m_ExplosionId  = "EXPLID_AmmoBoxExplosion";
  30.   }
  31.  
  32.   void CreateDetonateEffects()
  33.   {
  34.     GenerateBullets(
  35.         30,
  36.         "BULLETID_ExplosionFireSplash",
  37.         array(0.0, Math_HALFPI),
  38.         20,
  39.         array(0.0, 0.0),
  40.         array(75.0, 250.0),
  41.         GetUnitPosition()
  42.       );
  43.  
  44.     GenerateBullets(
  45.         5,
  46.         "BULLETID_ExplosionFireBall",
  47.         array(0.5 * Math_HALFPI, Math_HALFPI),
  48.         20,
  49.         array(0.0, 0.0),
  50.         array(60.0, 80.0),
  51.         GetUnitPosition()
  52.       );
  53.   }
  54. }
  55.  
  56. // Building without ground control (for use in villages)
  57. class CBaseSovietAmmoBox extends CBuilding, CUnitWithStateControl
  58. {
  59.   void CBaseSovietAmmoBox()
  60.   {
  61.     InitializeModelAsStatic("CSovietAmmoBoxMesh");
  62.     CUnitWithStateControl("CAmmoBoxStateControl");
  63.     Core_AddClassificator(CLASSIFICATOR_NOTVISIBLEONRADAR);
  64.   }
  65. }
  66.  
  67. class CBaseGermanAmmoBox extends CBuilding, CUnitWithStateControl
  68. {
  69.   void CBaseGermanAmmoBox()
  70.   {
  71.     InitializeModelAsStatic("CGermanAmmoBoxMesh");
  72.     CUnitWithStateControl("CAmmoBoxStateControl");
  73.     Core_AddClassificator(CLASSIFICATOR_NOTVISIBLEONRADAR);
  74.   }
  75. }
  76.  
  77. // Single game object
  78. class CMountedSovietAmmoBox extends CBaseSovietAmmoBox
  79. {
  80.   void CMountedSovietAmmoBox()
  81.   {
  82.     InitializeGroundControl();
  83.   }
  84. }
  85.  
  86. class CMountedGermanAmmoBox extends CBaseGermanAmmoBox
  87. {
  88.   void CMountedGermanAmmoBox()
  89.   {
  90.     InitializeGroundControl();
  91.   }
  92. }
  93.  
  94.  
  95.